(C) 1996 AROS - The Amiga Replacement OS


NAME
LONG SPCos()
SYNOPSIS

LONG fnum1

LOCATION
In MathTransBase at offset 7
FUNCTION
Calculate the cosine of a given ffp number in radians

INPUTS
y
Motorola fast floating point number
RESULT
Motorola fast floating point number

flags: zero : result is zero negative : result is negative overflow : 0

NOTES
EXAMPLE
BUGS
SEE ALSO
INTERNALS
Algorithm for Calculation of cos(y): z = floor ( |y| / pi ); y_1 = |y| - z * pi; => 0 <= y_1 < pi

if (y_1 > pi/2 ) then y_1 = pi - y_1;

=> 0 <= y_1 < pi/2

Res = 1 - y^2/2! + y^4/4! - y^6/6! + y^8/8! - y^10/10! = = 1 -(y^2(-1/2!+y^2(1/4!+y^2(-1/6!+y^2(1/8!-1/10!y^2)))));

if (z was an odd number) Res = -Res;

if (y_1 was greater than pi/2 in the test above) Res = -Res;

HISTORY
28.07.1997 bergers
Some bug-fixes and changes
21.07.1997 bergers
*** empty log message ***